/*
  MinCC - Minimalist Compiler Collection
  Copyright (C) 2009 Scott Lawrence

  MinCC is free software: you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  MinCC is distributed in the hope that it will be useful, but WITHOUT
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
  License for more details.

  You should have received a copy of the GNU General Public License
  along with mincc.  If not, see <http://www.gnu.org/licenses/>.
*/

#include <stdio.h>

#include "codeLoader.hpp"

#ifndef FILELOADER_HPP
#define FILELOADER_HPP

class FileLoader : public CodeLoader {
public:
    FileLoader();
    FileLoader(const char *);
    virtual ~FileLoader();

    FILE *openFile(const char *);
    virtual char *getCode(const char *);

    void addToPath(const char *);
    void addToPath(char *);
    void addSingleToPath(char *);
    void setPath(const char *);
    void setPath(char *);
    char *getPath();
    char **getPathList();
    int getPathSize();
protected:
    char **path;
    int count;
    int max;
private:
};

#endif
